package com.example.exceldemo.doc;

import com.example.exceldemo.model.ReqInfoDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.StringUtils;

/**
 * 文档生成工具类
 * <p>
 * 该工具类主要用于根据Excel解析的需求数据，自动生成三种类型的文档：
 * 1. 需求分析说明书
 * 2. 需求概要设计说明书
 * 3. 需求开发自测报告
 * <p>
 * 实现原理：使用POI-TL模板引擎，将数据填充到预设的Word模板中生成最终文档
 *
 * @author system
 */
@Slf4j
public class DocGenUtil {

    /**
     * 私有构造方法，防止实例化
     */
    private DocGenUtil() {
        throw new IllegalStateException("工具类不能实例化");
    }

    /**
     * 验证需求信息是否完整有效
     *
     * @param reqInfo 需求信息
     * @return 是否有效
     */
    public static boolean isValidReqInfo(ReqInfoDTO reqInfo) {
        if (reqInfo == null) {
            log.warn("需求信息为空，跳过处理");
            return false;
        }
        
        if (!StringUtils.hasText(reqInfo.getReqNo())) {
            log.warn("需求编号为空，跳过处理");
            return false;
        }
        
        if (!StringUtils.hasText(reqInfo.getReqName())) {
            log.warn("需求名称为空，跳过处理，需求编号: {}", reqInfo.getReqNo());
            return false;
        }
        
        return true;
    }
} 